// 封装分类数据业务相关代码
import { getCategoryAPI } from "@/apis/category.js";
import { onMounted, ref } from "vue";
import { useRoute } from "vue-router";
import { onBeforeRouteUpdate } from "vue-router";

export function useCategory(){
    // 获取数据
    // 由接口文档得知返回结果是对象数据
    const categoryData = ref({});
    const route = useRoute();
    // 用于获取组件内部的路由参数
    const getCategory = async (id = route.params.id) => {
        const res = await getCategoryAPI(id);
        categoryData.value = res.result;
        // console.log(categoryData);
    }
    onMounted(() => getCategory());
    // 路由参数变化时，把分类数据接口重新发送
    onBeforeRouteUpdate((to) => {
        // console.log("路由变化");
        // 使用最新的路由参数请求最新的分类数据
        // console.log(to);
        getCategory(to.params.id);
    });
    return {
        categoryData
    }
}